package net.dodoman.suanfa;
public class LianXu {
	public void print(int n) {
		boolean find = false;// 保存是否能找到这样的序列
		int max = n / 2 + 1; // 保存可能存在的序列的最大数
		for (int i = max; i > 0; i--)// 从最大数往下穷举取值取值
		{
			int current = i;// 保存当前结果
			for (int j = i - 1; j > 0; j--) {
				if (current < n) {
					current += j; // 如果当前结果小于n则继续加
				}
				if (current == n) {// 如果当前结果与n相等,则表示已经找到这样的序列,打印这个序列
					find = true;
					for (int k = j; k <= i; k++) {
						System.out.print(k + " ");
					}
					System.out.println();
					break;
				} else if (current > n){// 如果当前结果大于n,则表示以i为最大数的序列不可能存在
					break;
				}
			}
		}
		if (find == false) {
			System.out.println("NONE");// 假如没找到则打印"NONE"
		}
	}

	public static void main(String args[]) {
		new LianXu().print(15);
	}

}
